1. Technical Field
This invention relates to an address translator, and is suitable particularly, but not exclusively, for address translation between different networks.
2. Related Art
Currently all commercial Internet Protocol (IP) networks are IPv4 networks; however, at some point in the future, commercial IP networks will be IPv6 networks. In the meantime there will be a transitory period, during which commercial IP networks will comprise a mixture of IPv4 and IPv6 networks. IPv6 is a totally different protocol to IPv4 and is fundamentally incompatible with IPv4. Therefore, during the transitory period at least, network devices and/or networks will require mechanisms to enable a node and/or host in an IPv4 network, having an IPv4 address, to communicate with a node and/or host in an IPv6 network, having an IPv6 address.
Several migration mechanisms have been developed; see for example a document published in November 2000 by the Internet Engineering Task Force (IETF) and available from the IETF entitled “An Overview of the Introduction of IPv6 in the Internet”, authors: W. Biemolt et al, IETF Status: Draft working towards Informational RFC. Essentially these methods can be categorized as either “aggressive, short term” methods or “conservative, long term” methods.
A problem with at least some of known migration methods is that they have been designed and operated in a test environment, and have not been subjected to the volume of traffic experienced in commercial IP networks. There has therefore been little work carried out on designing migration methods that are commercially scalable and robust. This could be a serious problem, given that the transition between IPv4 and IPv6 is expected to be long, and the volume of IP traffic is continually increasing.
In the following description, the terms “host”, “network device”, “pool of addresses” and “node” are used and are defined as follows:
“node”: any equipment that is attached to a network, including routers, switches, repeaters, hubs, clients, servers; the terms “node”, “device” and “network device” are used interchangeably;
“host”: equipment for processing applications, which equipment could be either server or client, and may also include a firewall machine; and
“pool of addresses”: a group of addresses available for a purpose; the addresses could include IPv4 addresses that are globally unique, or addresses that are private within a network, e.g. a VLAN.
According to a first aspect of the invention there is provided apparatus for providing communication between a network device in a first network and a network device in a second network, where the first network operates in accordance with a first communication protocol and the second network operates in accordance with a second communication protocol. The apparatus comprises
(i) first means for assigning an alias to a target network device in the first network, the alias being compatible with the communication protocol of the second network;
(ii) second means for translating said assigned alias to an address for the target network device, said translated address being compatible with the communication protocol of the first network,
wherein the first means and the second means are separately addressable in one or both of said networks, and said assigned alias corresponds to an address of the second means, such that, when a network device in the second network sends one or more communication(s) using an address comprising the assigned alias, the or each communication is routed to the second means, whereupon the second means translates the alias into the address of the target network device in the first network and sends the communication(s) into the first network.
Particularly advantageous embodiments of the invention are applied between IPv4 and IPv6 networks, so that the first network is a IPv4 network and the second network is a IPv6 network.
Preferably the alias comprises a network address, and when the communication is being sent into an IPv6 network, the network address includes an identifier representative of the second means.
Conveniently the second means comprises a plurality of further devices. Thus, upon assignment of alias to the target network device, the first means effectively causes subsequent communications to occur via one of a plurality of further devices. Having a plurality of devices advantageously introduces resilience, scalability and efficient management of network loading.
Advantageously the or each further device has access to one or more groups of aliases, and each group can be stored in a store. Alternatively, two or more groups can be stored in a store.
Preferably embodiments include selecting means for selecting one of the plurality of further devices in accordance with predetermined criteria, such as device characteristics. Advantageously the selecting means is operable to monitor the device characteristics, so that selection of a device is based on current device performance. Monitored device characteristics include at least one of operational status of device, loading on device, and/or aliases available to the device.
In preferred embodiments, the selecting means is in operative association with the first means, so that the first means is operable to retrieve an alias available to the further device, which retrieved alias is the assigned alias.
Conveniently embodiments include a mapping store for storing mappings between the assigned alias and the network device assigned to the alias. The mapping store can be managed by the first means, a database, or by the further device. The selection of manager of the mapping stored is typically subject to criteria such as network traffic, ownership of network devices and transmission paths.
According to a second aspect of the present invention there is provided a method of providing communication between a network device in a first network and a network device in a second network corresponding to the apparatus described above.